package com.vavr.checkincms.convert;

import com.vavr.checkincms.domain.bo.MeetingParticipantBO;
import com.vavr.checkincms.domain.data.MeetingParticipantDO;
import com.vavr.checkincms.domain.dto.MeetingParticipantDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;

/**
 * MeetingParticipantConvert
 *
 * @since 2024.08
 */
@Mapper
public interface MeetingParticipantConvert {
    MeetingParticipantConvert INSTANCE = Mappers.getMapper(MeetingParticipantConvert.class);

    /**
     * DO转DTO
     *
     * @param participantDO {@link MeetingParticipantDO}
     * @return {@link MeetingParticipantDTO}
     */
    MeetingParticipantDTO doToDto(MeetingParticipantDO participantDO);

    /**
     * DO转DTO
     *
     * @param participantDOs {@link MeetingParticipantDO}
     * @return {@link MeetingParticipantDTO}
     */
    List<MeetingParticipantDTO> doToDto (List<MeetingParticipantDO> participantDOs);

    /**
     * BO转DO
     *
     * @param meetingParticipantBO {@link MeetingParticipantBO}
     * @return {@link MeetingParticipantDO}
     */
    MeetingParticipantDO boToDo(MeetingParticipantBO meetingParticipantBO);
}
